package com.design.springboot.booksharing.dao;

import com.design.springboot.booksharing.bean.BookClassification;
import com.design.springboot.booksharing.bean.QueryWarp;
import com.design.springboot.booksharing.bean.vo.BookClassificationVo;

import java.util.List;

/**
 * 书籍分类信息(BookClassification)表数据库访问层
 *
 * @author admin
 */
public interface BookClassificationDao {

    /**
     * 新增数据
     *
     * @param bookClassification 实例对象
     * @return 影响行数
     */
    Integer saveBookClassification(BookClassification bookClassification);

    /**
     * 通过主键 id 字段删除数据
     *
     * @param id 主键
     * @return 影响行数
     */
    Integer deleteBookClassification(Integer id);

    /**
     * 通过主键 id 字段修改数据
     *
     * @param bookClassification 实例对象
     * @return 影响行数
     */
    Integer updateBookClassification(BookClassification bookClassification);

    /**
     * 通过主键 id 字段查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    BookClassification getBookClassificationById(Integer id);

    /**
     * 查询所有的符合条件的行数据
     *
     * @return 对象列表
     */
    List<BookClassification> listBookClassification(QueryWarp<BookClassification> queryWarp);

    /**
     * 查询所有的数据,以树状组织
     *
     * @return 对象列表
     */
    List<BookClassificationVo> bookClassificationTreeVo();
}
